/*  
 * forkdemo2.c - 演示子进程如何在 fork() 返回后继续执行任意代码，  
 *               甚至再次调用 fork()。预测输出的行数。  
 */  

#include <stdio.h>      // 标准输入输出头文件  
#include <unistd.h>     // 提供 fork() 和 getpid() 等函数  
#include <sys/types.h>  // 定义 pid_t 类型  
#include <stdlib.h>     // 提供 exit() 函数  

int main(void)  
{  
    // 打印当前进程的 PID  
    printf("before: 我的 PID 是 %d\n", getpid());  

    fork();
    fork();

    // 再次打印当前进程的 PID  
    printf("after: 我的 PID 是 %d\n", getpid());  

    return 0; // 正常退出  
}